Domain-driven design (DDD) è un approccio dello sviluppo del software che risolve problemi complessi connettendo l'implementazione ad un modello in evoluzione. Le premesse del domain-driven sono le seguenti:
- Puntare il focus primario del progetto sui domini delle entità e la loro logica.
- Basare il design sulle entità di dominio.
- Iniziare una creativa collaborazione tra tecnici ed esperti di dominio per definire in maniera iterativa un modello concettuale che possa essere applicato ai particolari problemi del caso.
Il termine è stato introdotto da Eric Evans nel libro dallo stesso titolo.[1]